import { createContext, Dispatch } from 'react';

export interface IShortCutContext {
  prefixCls: string;
  userInfoObj: Record<string, any>;
  curRes: Record<string, any>;
  shortcutCheckKey: string;
  shortcutDispatch: Dispatch<any>;
  mailOrPhoneSuccess: string;
  reloadUserInfoRun: () => void;
}

/**
 * @prefixCls 根节点 类名
 * @userInfoObj 登录的 个人用户详情
 * @curRes 登录的 个人权限
 * @shortcutCheckKey 快捷键 的 key
 * @shortcutDispatch Reducers派发器
 * @mailOrPhoneSuccess 在电话和短信页面 拨打发送成功
 */
const INIT_GLOBALSHORTCUTKEY_VALUE: IShortCutContext = {
  prefixCls: 'global-shortcutkey-',
  userInfoObj: {},
  curRes: {},
  shortcutCheckKey: '',
  shortcutDispatch: () => {},
  mailOrPhoneSuccess: '',
  reloadUserInfoRun: () => {},
};

const GlobalShortcutContext = createContext<IShortCutContext>(
  INIT_GLOBALSHORTCUTKEY_VALUE,
);

export { GlobalShortcutContext };
